<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>json响应</title>
    <style>
        div {
            width: 200px;
            height: 100px;
            border: 1px solid blue;
        }
    </style>
</head>

<body>
    <button>点击发送请求</button>
    <div></div>
</body>
<script>
    const btn = document.querySelector('button');
    const div = document.querySelector('div');
    btn.onclick = function() {
        // 1.创建ajax对象
        const xhr = new XMLHttpRequest();
        // 这是响应数据的类型
        xhr.responseType = 'json';
        // 2.设置请求方式和url
        xhr.open('POST', 'http://127.0.0.1:8000/json-server?t=' + Date.now());
        // 设置请求头
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        // 3.发送请求
        xhr.send();
        // 4.处理服务端返回的数据
        // readystate是xhr对象中的属性,状态0 1 2 3 4
        xhr.onreadystatechange = function() {
            if (xhr.readyState === 4) {
                if (xhr.status >= 200 && xhr.status < 300) {
                    console.log(xhr.status); //状态码
                    console.log(xhr.statusText); //状态字符串
                    console.log(xhr.getAllResponseHeaders()); //所有响应头
                    console.log(xhr.response); //响应体
                    // 1.手动转换
                    // let data = JSON.parse(xhr.response);
                    // d1.innerHTML = data.name;
                    // 2. 自动转换
                    div.innerHTML = xhr.response.name;
                } else {
                    console.log('000');
                }
            }
        }
    }
</script>

</html>